﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenTicket.Model;

namespace OpenTicket.Tests
{
    /// <summary>
    /// Summary description for Setup
    /// </summary>
    [TestClass]//Comment this to avoid adding all stuff by misstake
    public class Setup:BaseTest
    {
        public Setup()
        {
        
        }

        private TestContext testContextInstance;

        /// <summary>
        ///Gets or sets the test context which provides
        ///information about and functionality for the current test run.
        ///</summary>
        public TestContext TestContext
        {
            get
            {
                return testContextInstance;
            }
            set
            {
                testContextInstance = value;
            }
        }

        #region Additional test attributes
        //
        // You can use the following additional attributes as you write your tests:
        //
        // Use ClassInitialize to run code before running the first test in the class
        // [ClassInitialize()]
        // public static void MyClassInitialize(TestContext testContext) { }
        //
        // Use ClassCleanup to run code after all tests in a class have run
        // [ClassCleanup()]
        // public static void MyClassCleanup() { }
        //
        // Use TestInitialize to run code before running each test 
        // [TestInitialize()]
        // public void MyTestInitialize() { }
        //
        // Use TestCleanup to run code after each test has run
        // [TestCleanup()]
        // public void MyTestCleanup() { }
        //
        #endregion

        [TestMethod]
        public void InsertTestProduct()
        {

            ProductService.Save(new Model.Product() { ProductName = "TestProduct", ProductCost = 50000, ProductCode = "delete" });
            ProductService.Save(new Model.Product() { ProductName = "TestProduct", ProductCost = 50000, ProductCode = "TestProduct" });

        }

        [TestMethod]
        public void InsertTestOrder()
        {

            Model.Order o = new Model.Order();
            o.OrderId = new Guid();
            o.CreatedDate = DateTime.Now;
            o.Client = new Client { ClientId = 1, FirstName = "John", LastName = "Doe" };
            o.OrderRows = new List<OrderRow>();
            ((IList<OrderRow>)o.OrderRows).Add(new OrderRow { Product = new Model.Product { ProductCost = 50000, ProductCode = "TestProduct", ProductName = "TestProduct" } });
            OrderService.Save(o);

        }

        

     
    }
}
